library(readr); library(dplyr); library(stringr); library(lubridate)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
Attaching package: ‘lubridate’
The following object is masked from ‘package:base’:
date
plasticContainer <- list(
greenBox=c("paper","scissor"), # location 1
redBox=c(1L,3L,2.5), # location 2
blueBox=c(TRUE,FALSE,TRUE,TRUE) # location 3
)
plasticContainer[c("greenBox")] # or plasticContainer[c(1,2)]
$greenBox
[1] "paper" "scissor"
plasticContainer[["greenBox"]] # or plasticContainer[[1]]
[1] "paper" "scissor"
plasticContainer$greenBox
[1] "paper" "scissor"
#如果上面要取出paper,請問要怎麼延伸拿取?ans1
plasticContainer[["greenBox"]][1]
[1] "paper"
#如果上面要取出paper,請問要怎麼延伸拿取?ans2
plasticContainer$greenBox[1]
[1] "paper"
#如果上面要取出paper,請問要怎麼延伸拿取?wrong version
plasticContainer["greenBox"][1] #1是指greenbox
$greenBox
[1] "paper" "scissor"
#如果上面要取出paper,請問要怎麼延伸拿取?ans3
plasticContainer["greenBox"]$greenBox[1]
[1] "paper"
#如果上面要取出paper,請問要怎麼延伸拿取?ans4
plasticContainer["greenBox"][["greenBox"]][1]
[1] "paper"
我是分隔線
install.packages("plotly")
There is a binary version available but the source version
is later:
installing the source package ‘plotly’
嘗試 URL 'https://cran.rstudio.com/src/contrib/plotly_4.8.0.tar.gz'
Content type 'application/x-gzip' length 1860673 bytes (1.8 MB)
==================================================
downloaded 1.8 MB
* installing *source* package ‘plotly’ ...
** package ‘plotly’ successfully unpacked and MD5 sums checked
** R
** data
*** moving datasets to lazyload DB
** demo
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** testing if installed package can be loaded
* DONE (plotly)
The downloaded source packages are in
‘/private/var/folders/xv/58tq8zqs5w59jnft9dljvy6h0000gn/T/RtmpupeV3Z/downloaded_packages’
download.file("https://github.com/tpemartin/github-data/blob/master/plotly_4070_neda.Rda?raw=true",destfile = "plotly_4070_neda.Rda")
嘗試 URL 'https://github.com/tpemartin/github-data/blob/master/plotly_4070_neda.Rda?raw=true'
Content type 'application/octet-stream' length 12400 bytes (12 KB)
==================================================
downloaded 12 KB
load("plotly_4070_neda.Rda")
library(plotly)
Loading required package: ggplot2
Attaching package: ‘plotly’
The following object is masked from ‘package:ggplot2’:
last_plot
The following object is masked from ‘package:stats’:
filter
The following object is masked from ‘package:graphics’:
layout
plotly_4070_neda
plotly_4070_neda$x$layout$shapes[[1]]$opacity
[1] 0.2
plotly_4070_neda$x$layout$shapes[[1]]$opacity <- 0.8
plotly_4070_neda
我是分隔線
library(readr); library(dplyr); library(stringr); library(lubridate)
library(readr)
transcriptData <- read_csv("https://raw.githubusercontent.com/tpemartin/github-data/master/transcript100_102.csv",
col_types = cols(
學期成績="n"
))
totalCredits<-function(x){
transcriptData[transcriptData$學號==x,]->subsample
subsample %>%
mutate(
及格=(學期成績>=60)
) %>%
summarise(
學號=學號[1],
總修習學分數=sum(學分數),
總實得學分數=sum(學分數[及格])
)
}
transcriptData %>%
filter(學屆==100,str_sub(學號,5,6)=="P1") -> subsample
subsample$學號 %>% unique -> 符合條件學號
creditResults<-vector("list",length(符合條件學號))
for(i in seq_along(符合條件學號)){
creditResults[[i]] <- totalCredits(符合條件學號[i])
}
分隔
library(readr)
library(tidyr)
libraryData <- read_csv("https://raw.githubusercontent.com/tpemartin/github-data/master/libraryData2.csv")
Parsed with column specification:
cols(
學號 = col_character(),
書籍類別 = col_character(),
書籍名稱 = col_character(),
書籍出版日期 = col_integer(),
書籍館藏地 = col_character(),
書籍上架年月 = col_date(format = ""),
入學年 = col_integer(),
讀者年級 = col_integer(),
學院 = col_character(),
借閱時間 = col_datetime(format = ""),
學期 = col_integer(),
學年 = col_integer(),
學系 = col_character()
)
libraryData %>%
group_by(學院) %>%
nest(.key="各院借閱資料") ->
libraryDataNested
library(dplyr)
libraryData %>%
filter(學院=="人文學院")
df <- data.frame(
x = 1:3,
y = c("a", "d,e,f", "g,h"),
z = c("A","A","B"),
stringsAsFactors = F
)
df %>%
group_by(z) %>%
nest -> dfNested
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0KCWtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKYGBgCgkKYGBge3J9CglsaWJyYXJ5KHJlYWRyKTsgbGlicmFyeShkcGx5cik7IGxpYnJhcnkoc3RyaW5ncik7IGxpYnJhcnkobHVicmlkYXRlKQpgYGAKCmBgYHtyfQpwbGFzdGljQ29udGFpbmVyIDwtIGxpc3QoCiAgZ3JlZW5Cb3g9YygicGFwZXIiLCJzY2lzc29yIiksICAgICAjIGxvY2F0aW9uIDEKICByZWRCb3g9YygxTCwzTCwyLjUpLCAgICAgICAgICAgICAgICMgbG9jYXRpb24gMgogIGJsdWVCb3g9YyhUUlVFLEZBTFNFLFRSVUUsVFJVRSkgICAgIyBsb2NhdGlvbiAzCikKYGBgCgpgYGB7cn0KcGxhc3RpY0NvbnRhaW5lcltjKCJncmVlbkJveCIpXSAjIG9yIHBsYXN0aWNDb250YWluZXJbYygxLDIpXQpgYGAKCmBgYHtyfQpwbGFzdGljQ29udGFpbmVyW1siZ3JlZW5Cb3giXV0gIyBvciBwbGFzdGljQ29udGFpbmVyW1sxXV0KYGBgCgpgYGB7cn0KcGxhc3RpY0NvbnRhaW5lciRncmVlbkJveApgYGAKCmBgYHtyfQoj5aaC5p6c5LiK6Z2i6KaB5Y+W5Ye6cGFwZXLvvIzoq4vllY/opoHmgI7purzlu7bkvLjmi7/lj5bvvJ9hbnMxCnBsYXN0aWNDb250YWluZXJbWyJncmVlbkJveCJdXVsxXQpgYGAKCmBgYHtyfQoj5aaC5p6c5LiK6Z2i6KaB5Y+W5Ye6cGFwZXLvvIzoq4vllY/opoHmgI7purzlu7bkvLjmi7/lj5bvvJ9hbnMyCnBsYXN0aWNDb250YWluZXIkZ3JlZW5Cb3hbMV0KYGBgCmBgYHtyfQoj5aaC5p6c5LiK6Z2i6KaB5Y+W5Ye6cGFwZXLvvIzoq4vllY/opoHmgI7purzlu7bkvLjmi7/lj5bvvJ93cm9uZyB2ZXJzaW9uCnBsYXN0aWNDb250YWluZXJbImdyZWVuQm94Il1bMV0gIzHmmK/mjIdncmVlbmJveApgYGAKCmBgYHtyfQoj5aaC5p6c5LiK6Z2i6KaB5Y+W5Ye6cGFwZXLvvIzoq4vllY/opoHmgI7purzlu7bkvLjmi7/lj5bvvJ9hbnMzCnBsYXN0aWNDb250YWluZXJbImdyZWVuQm94Il0kZ3JlZW5Cb3hbMV0KYGBgCgpgYGB7cn0KI+WmguaenOS4iumdouimgeWPluWHunBhcGVy77yM6KuL5ZWP6KaB5oCO6bq85bu25Ly45ou/5Y+W77yfYW5zNApwbGFzdGljQ29udGFpbmVyWyJncmVlbkJveCJdW1siZ3JlZW5Cb3giXV1bMV0KYGBgCiPmiJHmmK/liIbpmpTnt5oKYGBge3J9CglpbnN0YWxsLnBhY2thZ2VzKCJwbG90bHkiKQpgYGAKCmBgYHtyfQpkb3dubG9hZC5maWxlKCJodHRwczovL2dpdGh1Yi5jb20vdHBlbWFydGluL2dpdGh1Yi1kYXRhL2Jsb2IvbWFzdGVyL3Bsb3RseV80MDcwX25lZGEuUmRhP3Jhdz10cnVlIixkZXN0ZmlsZSA9ICJwbG90bHlfNDA3MF9uZWRhLlJkYSIpCmxvYWQoInBsb3RseV80MDcwX25lZGEuUmRhIikKbGlicmFyeShwbG90bHkpCnBsb3RseV80MDcwX25lZGEKYGBgCgpgYGB7cn0KcGxvdGx5XzQwNzBfbmVkYSR4JGxheW91dCRzaGFwZXNbWzFdXSRvcGFjaXR5CmBgYAoKYGBge3J9CnBsb3RseV80MDcwX25lZGEkeCRsYXlvdXQkc2hhcGVzW1sxXV0kb3BhY2l0eSA8LSAwLjgKcGxvdGx5XzQwNzBfbmVkYQpgYGAKCiPmiJHmmK/liIbpmpTnt5oKYGBge3J9CmxpYnJhcnkocmVhZHIpOyBsaWJyYXJ5KGRwbHlyKTsgbGlicmFyeShzdHJpbmdyKTsgbGlicmFyeShsdWJyaWRhdGUpCmBgYAoKYGBge3J9CmxpYnJhcnkocmVhZHIpCnRyYW5zY3JpcHREYXRhIDwtIHJlYWRfY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vdHBlbWFydGluL2dpdGh1Yi1kYXRhL21hc3Rlci90cmFuc2NyaXB0MTAwXzEwMi5jc3YiLAogICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKAogICAgICAgICAgICAgICAgICAgIOWtuOacn+aIkOe4vj0ibiIKICAgICAgICAgICAgICAgICAgKSkKCnRvdGFsQ3JlZGl0czwtZnVuY3Rpb24oeCl7CiAgdHJhbnNjcmlwdERhdGFbdHJhbnNjcmlwdERhdGEk5a246JmfPT14LF0tPnN1YnNhbXBsZSAKICBzdWJzYW1wbGUgJT4lCiAgICBtdXRhdGUoCiAgICAgIOWPiuagvD0o5a245pyf5oiQ57i+Pj02MCkKICAgICkgJT4lCiAgICBzdW1tYXJpc2UoCiAgICAgIOWtuOiZnz3lrbjomZ9bMV0sCiAgICAgIOe4veS/rue/kuWtuOWIhuaVuD1zdW0o5a245YiG5pW4KSwKICAgICAg57i95a+m5b6X5a245YiG5pW4PXN1bSjlrbjliIbmlbhb5Y+K5qC8XSkKICAgICkgIAp9CmBgYAoKYGBge3J9CnRyYW5zY3JpcHREYXRhICU+JQogIGZpbHRlcijlrbjlsYY9PTEwMCxzdHJfc3ViKOWtuOiZnyw1LDYpPT0iUDEiKSAtPiBzdWJzYW1wbGUKc3Vic2FtcGxlJOWtuOiZnyAlPiUgdW5pcXVlIC0+IOespuWQiOaineS7tuWtuOiZnwpgYGAKCmBgYHtyfQpjcmVkaXRSZXN1bHRzPC12ZWN0b3IoImxpc3QiLGxlbmd0aCjnrKblkIjmop3ku7blrbjomZ8pKQoKZm9yKGkgaW4gc2VxX2Fsb25nKOespuWQiOaineS7tuWtuOiZnykpewogIGNyZWRpdFJlc3VsdHNbW2ldXSA8LSB0b3RhbENyZWRpdHMo56ym5ZCI5qKd5Lu25a246JmfW2ldKQp9CmBgYAoKI+WIhumalAoKYGBge3J9CmxpYnJhcnkocmVhZHIpCmxpYnJhcnkodGlkeXIpCmxpYnJhcnlEYXRhIDwtIHJlYWRfY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vdHBlbWFydGluL2dpdGh1Yi1kYXRhL21hc3Rlci9saWJyYXJ5RGF0YTIuY3N2IikKbGlicmFyeURhdGEgJT4lCiAgZ3JvdXBfYnko5a246ZmiKSAlPiUKICBuZXN0KC5rZXk9IuWQhOmZouWAn+mWseizh+aWmSIpIC0+CiAgbGlicmFyeURhdGFOZXN0ZWQKYGBgCgpgYGB7cn0KbGlicmFyeShkcGx5cikKbGlicmFyeURhdGEgJT4lCiAgZmlsdGVyKOWtuOmZoj09IuS6uuaWh+WtuOmZoiIpCmBgYAoKYGBge3J9CmRmIDwtIGRhdGEuZnJhbWUoCiAgeCA9IDE6MywKICB5ID0gYygiYSIsICJkLGUsZiIsICJnLGgiKSwKICB6ID0gYygiQSIsIkEiLCJCIiksCiAgc3RyaW5nc0FzRmFjdG9ycyA9IEYKKQpkZiAlPiUgCiAgZ3JvdXBfYnkoeikgJT4lCiAgbmVzdCAtPiBkZk5lc3RlZApgYGAKCgo=